Date: Wed, 08 Jan 1997 21:01:30 GMT
Server: NCSA/1.4.2
Content-type: text/html

<html>

<head>
<title>Definitions</title>
</head>

<body>

<h1> CSE 505 -- Some Definitions </h1>

<P>
So far this only has a few definitions of the concepts we've studied ...
more will be added next time the course is offered, I hope.


<P>

<DL>

<DT> <strong> Type safe </strong>
<DD> Type safe means that the language guarantees that one type can't be
incorrectly used in place of another type, in other words, that all
expressions are guaranteed to be type consistent.  This can be checked at
compile time, run time, or a mixture.  Lisp, Ada, and Miranda are examples
of type safe languages.  Fortran and C are examples of languages that
aren't type safe.

<DT> <strong> Statically typed </strong>
<DD> Statically typed means that the type of every expression can be
determined at compile time.  We also check at compile time that all
functions and operations are applied to expressions of the correct type.
Miranda and Ada are examples of statically typed languages.  (Lisp is not
statically typed though.)  
"Statically typed" implies "type safe".

<DT> <strong> Strongly typed  </strong>
<DD> There are two common definitions for strongly typed (sorry) -- one is
strongly typed = statically typed; the other is strongly typed = type safe.

<DT> <strong> Weakly typed </strong>
<DD> Weakly typed means "not type safe".  Fortran and C are examples of
weakly typed languages.

<DT> <strong> Aliasing </strong>
<DD> Aliasing arises when you have two or more variables referring to the
same storage location.  I'll add more to the definition after the homework
is due...

</DL>



</body>
</html>
